#include "utils.h"

// 判断是否为闰年
int IsLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

// 计算星期几，0=星期日，1=星期一，…6=星期六
int GetWeekday(int year, int month, int day) {
    if (month <= 2) {
        month += 12;
        year -= 1;
    }
    int K = year % 100;        // 年份后两位
    int J = year / 100;        // 世纪数

    int h = (day + (13*(month + 1))/5 + K + K/4 + J/4 + 5*J) % 7;
    // h=0表示星期六, 1=星期日, 2=星期一, ..., 6=星期五

    // 转换为 0=星期日，1=星期一，…，6=星期六
    int dayOfWeek = (h + 6) % 7;

    return dayOfWeek;
}